package jdbc;

import java.net.ConnectException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class JDBCDemo1 {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //永远不能再mian方法里面写throws
        /**
         * 使用JDBC链接数据库的基本流程
         * 1:加载流程
         * 2:通过驱动管理器与数据库建立联系
         * 3:通过链接对象创建语句执行对象
         * 4:通过语句执行对象执行SQL语句
         * 5:接受数据库处理结果
         * 6:关闭数据库廉洁
         */
        //1 加载MYSQL的驱动类
        Class.forName("com.mysql.cj.jdbc.Driver");
        //2 通过驱动管理器与数据库建立链接
        Connection conn= DriverManager.getConnection(
                "jdbc:mysql://localhost:3306/tedu?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true",
                     "root",
                            "root"
        );
        System.out.println("与数据库链接成功");
        //3:
        Statement state =conn.createStatement();
        /*
        "create table userinfo(
            id int primary key auto_increment,
            username varchar(32)
            password varchar(32)
            nickname varchar(32)
            age int(3) "+"
        ") */
        String sql="create table userinfo("+
                "id int primary key auto_increment,"+
        "username varchar(32),"+
        "password varchar(32),"+
        "nickname varchar(32),"+
        "age int(3) "+
                ")";

        /*
        boolean execute(String sql)
        该方法可以执行任意种类sql语句,当执行sql后产生查询结果集则返回true
        因为执行DQL语句和DML语句有专门的方法,因此当前方法通常用于执行DDL语句
        当执行sql后没有产生查询结果集则返回false
         */
        state.execute(sql);
        System.out.println("执行成功");

        conn.close();
    }
}
